<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class User extends MY_Controller {
	
    public function __construct()
    {
        parent::__construct();
        $this->data['controller'] = 'user';
        $this->load->model('Muser');
    }
    
    public function logout()
    {
        $this->session->sess_destroy();
        redirect('index');
    }
    
    public function login()
    {
        //Nếu người dùng đăng nhập rồi mà vào login,nhảy vào trang chủ
        if($this->session->userdata('isLogin'))
        {
            redirect('/');
        }
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Tài khoản', 'required');
        $this->form_validation->set_rules('password', 'Mật khẩu', 'required');

        if($this->form_validation->run() == TRUE)
        {
            $run = $this->Muser->loginUser();
            if($run == 200)
            {
                redirect('index');
            }else{
                if($run == 202)  // Tài khoản không tồn tại
                {
                    $this->data['error'] = "Tài khoản này không tồn tại.";
                }
                else{     //201:sai mật khẩu
                     $this->data['error'] = "Mật khẩu của bạn không chính xác.";
                }    
            }
        }
        $this->data['action'] = __FUNCTION__;
        $this->load->view('temp/user/login', $this->data);
    }
    
    public function passwd()
    {
        $this->checkLogin();
        $this->data['dataedit'] = $this->Muser->getUserInfoMem($this->session->userdata('id'));
        
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Tài khoản', 'required');
        $this->form_validation->set_rules('email', 'Thư điện tử', 'required');
        $this->form_validation->set_rules('mobile', 'Số điện thoại', 'required');
        $this->form_validation->set_rules('fullname', 'Họ tên', 'required');
        
        
        if($this->form_validation->run() === TRUE)
        {
            $this->Muser->editUserMem($this->session->userdata('id'));
            $this->data['status'] = true;
        }
        
        $this->data['place'] = $this->Muser->getPlaceSelect($this->session->userdata('id'));
        $this->data['action'] = __FUNCTION__;
	$this->load->view('temp/layout', $this->data);
    }
    
    public function index()
	{
	    $this->checkLogin(2);
		$this->data['type'] = $this->getParamString('type');
        $this->data['id'] = $this->getParamInt('id');
        
        if($this->data['type'] == 'edit'){
            $this->data['dataedit'] = $this->Muser->getUserInfo($this->data['id']);
        }else if($this->data['type'] == 'delete'){
            $this->Muser->deleteUserInfo($this->data['id']);
            redirect('user');
        }
        
        // bd phan trang cho list.
        $this->load->library('pagination');
        $config['per_page'] = $this->data['_per_page'] = 50;
        $this->data['page'] = $this->data['page_current'] = $this->getParamUri(2,1);
        $offset = (($this->getParamUri(2,1) - 1) * $config['per_page']) > 0 ? (($this->getParamUri(2,1) - 1) * $config['per_page']) : 0;
        $data = $this->Muser->getUser($config['per_page'],$offset);
        $config['base_url'] = base_url($this->uri->segment(1).'/');
        $config['total_rows'] = $data['count'];
        $config['uri_segment'] = 2;
        $config['uri_segment_page'] = $this->getParamUri(2,1);
        $config['suffix'] = '.html';
        $config['use_page_numbers'] = TRUE;
        $this->pagination->initialize($config);
        $this->data['data'] = $data['data'];
        
        // h phan trang cho list.
        
        $this->load->library('form_validation');
        $this->form_validation->set_rules('username', 'Tài khoản', 'required');
        $this->form_validation->set_rules('email', 'Thư điện tử', 'required');
        $this->form_validation->set_rules('mobile', 'Số điện thoại', 'required');
        $this->form_validation->set_rules('fullname', 'Họ tên', 'required');
        
        
        if($this->form_validation->run() === TRUE)
        {
            if($this->data['type'] == '')
            {
                $run = $this->Muser->saveUser();
                if(!$run)
                {
                    $this->data['error'] = 'Địa chỉ đã tồn tại';
                }else{
                    $this->data['status'] = 'Thêm thành công.';
                } 
            }else if($this->data['type'] == 'edit'){
                $run = $this->Muser->editUser($this->data['id']);
                if(!$run)
                {
                    $this->data['error'] = 'Địa chỉ đã tồn tại';
                }else{
                    $this->data['status'] = 'Cập nhật thành công.';
                }  
            }
        }
        
        $this->data['place'] = $this->Muser->getPlaceSelect($this->data['id']);
	    $this->data['action'] = __FUNCTION__;
		$this->load->view('temp/layout', $this->data);
	}
    
	public function profile()
    {
        $this->checkLogin();
        $this->data['getprofile'] = $this->Muser->getProfile($this->session->userdata('id'));
        $this->load->library('form_validation');
        $this->form_validation->set_rules('email', 'Thư điện tử', 'required');
        $this->form_validation->set_rules('mobile', 'Số điện thoại', 'required');
        $this->form_validation->set_rules('fullname', 'Họ tên', 'required');
        if($this->form_validation->run() === TRUE)
        {
            $run = $this->Muser->editProfile($this->session->userdata('id'));
            if( $run == 200 ){
				die('<meta charset="utf-8"><script>alert("Cập nhật thành công");window.location.href="'.$baseurl.'profile";</script>');
			}
        }
        //$this->data['place'] = $this->Muser->getPlaceSelect($this->session->userdata('id'));
        $this->data['action'] = __FUNCTION__;
		$this->load->view('temp/layout', $this->data);
    }
	
    
}
